package com.sojson.controller.po.param.verify;

import java.math.BigDecimal;

import com.sojson.entity.po.HotelRoom;
import com.sojson.result.Result;
import com.sojson.util.ArithUtil;
import com.sojson.util.StringUtil;

/**
 * 酒店房间信息控制器参数验证
 * 
 * @author liu
 * @date 2021-07-02
 */
public class HotelRoomParamVerify {

    /**
     * 单条插入
     * 
     * @param dto
     * @return
     */
    public static Result<Integer> insert(HotelRoom dto) {
        if (StringUtil.isBlank(dto.getNoHotel())) {
            return Result.fail("酒店编号不能为空！");
        }
        if (StringUtil.isBlank(dto.getName())) {
            return Result.fail("房间名称不能为空！");
        }
        if (StringUtil.isBlank(dto.getType())) {
            return Result.fail("类型ID不能为空！");
        }
        if (StringUtil.isBlank(dto.getImg())) {
            return Result.fail("图片不能为空！");
        }
        if (StringUtil.isBlank(dto.getImgs())) {
            return Result.fail("图片列表不能为空！");
        }
        Integer stock = dto.getStock();
        if (StringUtil.isBlank(stock) || stock < 1) {
            return Result.fail("数量不能为空！");
        }
        BigDecimal price = dto.getPrice();
        if (StringUtil.isBlank(price)) {
            return Result.fail("现价不能为空！");
        }
        int intValuePrice = price.intValue();
        if (intValuePrice < 1) {
            return Result.fail("现价不能小于0.01！");
        }
        dto.setPrice(ArithUtil.intPennyToBigDollar(intValuePrice));

        return Result.success();
    }

    /**
     * 通过id更新(局部更新)
     * 
     * @param dto
     * @return
     */
    public static Result<Integer> updateById(HotelRoom dto) {
        if (StringUtil.isBlank(dto.getId())) {
            return Result.fail("ID不能为空！");
        }

        return Result.success();
    }

}